Two-dimensional code and its decoding method, and the printing publication using this two-dimensional code

ABSTRACT

The invention discloses a two-dimensional code and its decoding method and the printing publication for applying the two-dimensional code. The area of the positioning points located at the four corners of the code in the two-dimensional code characters is larger than that of the data points. The code symbol is arranged repeatedly on the basement and seamless joint as code matrix including at least two same code symbols, and the adjacent code has the same positioning point. The two-dimensional code is printed on the printing publication to be identified by the device. The decoding method comprises the following steps of: reading the two-dimensional code by using a reading device; detecting the margin of each point to obtain the margin image; parsing the margin image to obtain the closed border; computing the area within the closed border in order to select the positioning points; matching the positioning points in the rectangle mode; grouping the data points after selecting one separate code character; reconstructing the array of data points; and recovering the code words.

FIELD OF THE INVENTION

This invention involving a kind of two-dimensional code and decodingmethod and has been applied to the printing publication.

BACKGROUND OF THE INVENTION

Customarily people always read the traditional publication such as book,newspaper and so on by eyes, which will be tired easily by long timeusing, this way of getting information is rather boring, and it isimpossible for the people who is blind or has eye disease to read. Thusthe voice reading publication has appeared recently, usingtwo-dimensional voice reading device to decode the content of one bookand pronounce, so that the readers can listen, improving the effect ofreading or memory, it is also convenient for the people who is blind orhas eye disease to read.

Usually the main form of the two dimensional code is plain code. On thevoice reading publication, the reader can touch-read the two-dimensionalcode symbol that is printed clearly between words and paragraphs or somevisible places on the page. This kind of plain code can only appear onthe blank places of the page and usually as the form of single code, thebeauty of the page will be influenced more or less. And the plain codeusually will be printed a little big so they can be found easily,although the requirement for printing precision is rather low, thereader's head needs to be big for touch-reading.

On the market the two-dimensional code voice reading device has appearedand used the conventional two-dimensional code to mark phonetic placesbut its amount of the phonetic index is limited so that the differentpublication needs using the same code, resulting in the mistakes ofphonetic content, because the phonetic file of the reading device iscorresponding to the target publication.

SUMMARY OF THE INVENTION

The object of this invention is: providing a kind of two-dimensionalcode and its decoding method adapting to store data, convenient forreading and having easy decoding calculation, and the publication withthe multi-media data index information using this two-dimensional code,the two-dimensional code was designed to meet the requirement of theconventional printing condition of the publication, so it is moreconvenient and reassuring to use.

To achieve the object, this invention firstly discloses atwo-dimensional code, its code symbol is comprised of array of bar codecells with different optical reflectance on the basement; the said codesymbol is rectangle, wherein the said bar code cells in the said symbolare solid dots with equal space arrangement and the cells located at thefour corners of the bar code symbol are the positioning point used todefine and recognize the border, the rest cells are data points, thearea of the said positioning point is larger than that of data points.

The said two-dimensional code, the said data point cells are allincluded in the rectangle frame consisting of linking of the saidadjacent positioning point cells' centers. The said code symbol isarranged repeatedly on the basement and seamless joint as code symbolmatrix including at least two same code symbols, and the adjacent codehas the same positioning point.

The said two-dimensional code, the optimal size of said bar code cell issolid dot, the diameter of said positioning point cell is double thanthat of data point cell.

The said two-dimensional code, the said code symbol includes 10×10 barcode cells, except the positioning point, every adjacent 8 data pointsconstitute a group to represent one code word; the coordinates of thesaid positioning point cells are respectively (0,0), (9,9), (0,9) and(9,9); in the chessboard coordinate system stipulated by the positioningpoint, the data point cells are divided into 12 groups that respectivelyrepresent one code word; the unit coordinates of the first group Include(1,0), (2,0), (0,1), (1,1), (2,1), (0,2), (1,2), (2,2); the unitcoordinates of the second group include (3,0), (4,0), (5,0), (6,0),(3,1), (4,1), (5,1), (6,1); the unit coordinates of the third groupinclude (7,0), (8,0), (7,1), (8, 1), (9,1), (7,2), (8,2), (9,2); theunit coordinates of the forth group include (3,2), (4,2), (2,3), (3,3),(4,3), (2,4), (3,4), (4,4); the unit coordinates of the fifth groupinclude (5,2), (6,2), (5,3), (6,3), (7,3), (5,4), (6,4), (7,4); the unitcoordinates of the sixth group include (0,3), (1,3), (0,4), (1,4),90,5), (1,5), (0,6), (1,6); the unit coordinates of the seventh groupinclude (8,3), (9,3), (8,4), (9,4), (8,5), (9,5), (8,6), (9,6); the unitcoordinates of the eighth group include (2,5), (3,5), (4,5), (2,6),(3,6), (4,6), (3,7), (4,7); the unit coordinates of the ninth groupinclude (5,5), (6,5), (7,5), (5,6), (6,6), (7,6), (5,7), (6,7); the unitcoordinates of the tenth group include (0,7), (1,7), (2,7), (0,8),(1,8), (2,8), (2,9), (3,9); the unit coordinates of the eleventh groupinclude (3,8), (4,8), (5,8), (6,8), (3,9), (4,9), (5,9), (6,9); the unitcoordinates of the twelfth group include (7,7), (8,7), (9,7), (7,8),(8,8), (9,8), (7,9), (8,9).

Secondly, this invention provides a printing publication, printing withwords and pictures for normal reading and the two dimensional code fordevice recognition and the pictures and words for normal reading hasbeen printed, the said code symbol of the two dimensional code iscomprising of array of bar code cells with different optical reflectanceon the basement; the said code character is rectangle wherein the saidbar code cells in the symbol are solid dots with equal space arrangementand the cells located at the four corners of the bar code symbol are thepositioning point used to define and recognize the border, the restcells are data points, the area of the said positioning point is largerthan that of the data point.

The said publication, the said data point cells are all included in therectangle frame consisting of linking of the said adjacent positioningpoint cells' centers. The said code symbol is arranged repeatedly on thebasement and seamless joint as code symbol matrix including at least twosame code symbols, and the adjacent code has the same positioning point.The said publication, the preferred shape of said bar code cell is soliddot, the diameter of said positioning point cell is double than that ofdata point cell.

The said publication, the said code symbol can not be seen by eyes innormal reading environment; or compare with the normal printing wordsand pictures, the said code symbol can not be seen easily.

The said publication, the said bar code cell includes deep color celland light color cell to represent respectively the value of binarysystem 1 and 0, the said light color cell can be shown directly by thebackground color of paper or the other print media.

The deep color cell of the said code symbol using infrared ink printingthat shows different reflectivity to the light of infrared spectrum butthe same reflectivity to the light of visible spectrum compared with thelight color cell, and the other printing contents covering the said codesymbol use the ink printing can show transmission to the light of theinfrared spectrum.

The said printing publication, the information carried by the twodimensional code includes the multi-media data index codingcorresponding with the different parts of the said publication and thepublishing species index coding.

The said multi-media data index coding corresponding with the differentparts of the said publication and the publishing species index codingincludes 6 functional sections consisting of fixed length of digitnumbers: language number, classification number, class index number,page sequence number, code sequence number and error check number,wherein the language number is the digit code name of languagestipulated by the language kinds of the publication; classificationnumber is the digit code name of publication classification with somelanguage according to the book species; class index number representsthe concrete order of some classified book of the publication with somelanguage, that can be numerical order; the page sequence number is thecontent of index coding according to the page digit of the saidpublication; code sequence number is the number according with thenumber of two dimensional code and marking sequence used in the pagesincluding two dimensional code; error check number is to check thecorrect errors of the index coding.

The said multi-media data index coding corresponding with the differentparts of the said publication and the publishing species index codingincludes 16 bits decimal number, wherein the length of every functionalsection is respectively: language number 1 bit, classification number 2bits, class index number 6 bits, page sequence number 4 bits, codesequence number 2 bits and error check number 1 bit. The value of thesaid publishing species index coding and the parity bit of the saidmulti-media data index coding are calculated by the frontal 15 decimalnumbers of the coding, calculation method: respectively and in sequenceputting the frontal 15 decimal numbers from the multi-media data indexof publication as the cardinal number, “1” and “2” as weighted factors,and respectively multiply with decimal number of cardinal number, andthen product sum is divided by modulus 10, wherein every section ofcardinal number multiplies with weighted factor, if the product is morethan 10, then to add the tens digit of this product with single digittogether to get every product sum, when every product sum is less than10, to add 10 to the product sum and then be divided by modulus 10, andthe difference between its remainder and 10 is the value of parity bit.

Thirdly, this invention provides a decoding method of thetwo-dimensional code including the following steps:

1) reading the code symbol by using a reading device, getting the graycode symbol image;

2) making binary processing to the gray code symbol image and get binaryimage;

3) parsing the binary image, detecting the margin of each point toobtain the margin image;

4) parsing the margin image to track its closed border and give up allthe non-closed borders to obtain the closed border;

5) parsing the image of closed border, computing the area within everyclosed border in order to select the positioning points;

6) matching the positioning points in the rectangle mode to select onesingle image of the code symbol;

7) grouping the data points comes from the image of code symbol

8) reconstructing the array of data points;

9) recovering the code word.

The said method, the process of selecting positioning point cell in thesaid step 5) includes:

51) calculating the area within every closed border in order to countthe area histogram within all closed borders and find the mostconcentrated area value S0 from the area histogram;

52) the closed border, area' center is S0 and according with error rangeof the regulation, that is data point cell; the closed border, area isknown multiple of S0 and according with error range of the regulation,that is positioning point cell.

The said method, when the known bar code sell's shape is circular point,before the step 5, including step 5′) the process of recognizing thecircular point, which includes:

51′) adding the pixel abscissa of all the border points of the closedborder, and then use the cumulative total divided by the sum of borderpoints to get the pixel abscissa u of the center point of the closedborder; adding the pixel ordinate of all the border points, and then thecumulative total divided by the sum of border points to get the pixelordinate v of the center point of the closed border;

52′) according to the pixel coordinate (u, v) of the center point of theclosed border to find the diameter of the closed border in the fourdirections, and can get four length value respectively d1, d2, d3, d4;

53′) the average diameter is d=(d1+d2+d3+d4)/4, define the round'sstandard degree N=|d−d1|/d+|d−d2|/d+|d−d3|/d+|d−d4|/d;

54′) calculating the value N of each closed border, discarding theclosed border whose value N is more than the threshold value T_(n)according to actual statistic result, and the rest closed border isconsidered as the border of bar code circular point cell.

The said method, the process of matching the positioning point cell inthe rectangle mode in the said step 6 includes:

61) choosing the closest positioning point to the center of image as thefirst reference point;

62) choosing the other closest positioning point to the first referencepoint as the second reference point;

63) the side consisting of the two reference points is the referenceborder of target rectangular, the first reference point as the origin,calculating the second reference point's polar coordinate (r₀, θ₀);

64) calculating the first reference point's polar coordinate (r_(i),θ_(i)) relative to the rest positioning points, iε[1˜n], n is the sum ofpositioning point cells;

65) the first reference point as center, relative to the reference side,to calculate polar coordinate of the other positioning points about thecontour-rectangle of possible four code symbols;

P₁=(r₀,θ₀),

P ₂=(r ₀*1.414,θ₀+45), P ₃=(r ₀*1,θ₀+90)

P ₄=(r ₀*1.414,θ₀+135)

P ₅=(r ₀*1,θ₀+180)

P ₆=(r ₀*1.414,θ₀+225)

P ₇=(r ₀*1,θ₀+270)

P ₈=(r ₀*1.414,θ₀+315)

Wherein: P₀ is the first reference point, P₁ is the second referencepoint, the angle of all the polar coordinates is in [0,360];

66) finding the matching polar coordinate from P₁ to P₈ in thecalculation result of Step 64), the matching points P₀, P₁ and P₂, P₃composing the first target rectangle, if the matching is not successful,then P₀ and P₃, P₄ and P₅ will compose the second target rectangle, ifstill not successful, then the matching points P₀ and P₅, P₆ and P₇ willcompose the third target rectangle, if not successful again, then thematching points P₀, P₁ and P₈, P₇ will compose the fourth targetrectangle; if still can not be matched, then the decoding is failed.

The said method, the grouping process of the data point in the said step7) includes:

71) defining a closed quadrilateral according to the four-pointcoordinates of positioning point,

72) judging whether the data point is within this quadrilateral or not,the data point within the quadrilateral belongs to the current codesymbol. The method of judging whether one point is within thequadrilateral of the said Step 72) includes: respectively judgingwhether one point is within the two groups of corresponding sides of thequadrilateral or not; if yes, this point is within the quadrilateral; ifno, this point is not within the quadrilateral; setting the linearequation of the two sides are y=k₁*x+b₁; y=k₂*x+b₂; the condition ofpoint (x₀, y₀) within the two sides is: (k₁*x₀+b1−y₀)*(k₂*x₀+b₂−y₀)<0.

The said method, the process of reconstructing the data point's matrixin the said Step 8) includes:

81) setting the unit module's coordinate of four-corner positioningpoint, and then setting chessboard coordinate of each bar code cell;

82) according to coordinate correcting formula, calculating thecorresponding coordinate of bar code chessboard according to the centercoordinate of each data point.

This invention has provided the following advantageous effects by usingthe above technology solution:

The two-dimensional code of this invention uses the positioning pointwhose area is more than data point at the four corners of the codesymbol, and the array of the code symbol has the same positioning point,without the requirement of two-dimensional code for quiet zone, the samecode can be printed repeatedly and seamless joint as code matrix, it isvery convenient to gain code; simplifying decoding calculation of thebar code and the code can be printed more closely and smaller to improvethe coding efficiency. The two-dimensional code of this invention doesnot need to be seen clearly by eyes and not need to occupy empty page,so it will not affect the printing and typesetting of the publicationand be convenient for using. The application of this invention'stwo-dimensional code is very easy and it is quick to read data, highlyreliability and low bit error rate. The requirement for device issimple, so benefit for popularization and application.

The publication using the two-dimensional code of this invention can beread by the reader conveniently because of the large printing area usingthe same code with repetition array, and without the action “focus on”,the reader can be placed freely but always in the range of code. Whenusing repeated large area printing, if the words covering the alignmentarea of the two-dimensional code, some two-dimensional code can emergetotally between the words and paragraphs; or using different ink to letthe reader produce perspective effect on the printing content coveringthe bar code so that the two-dimensional code can be read conveniently.Because the two-dimensional code of this invention can no-repeated codeall the voice index number of the whole publication, let the publicationuse this kind of two-dimensional code totally possessing the quantitycondition to become a new kind of publication. As the decoding algorithmcomputation is small, and the decoding time is shorter, the low-costhardware can be used to reduce the cost of publication with thetwo-dimensional code of this invention. Unit module of thetwo-dimensional code possesses two kinds of color, the code can assurethe legibility only if there is enough difference between the foregroundcolor and background color's brightness value; the background color candirectly use the ground color of paper or other printing media to reducethe printing cost.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is the schematic diagram of single code symbol of this invention.

FIG. 2 is the schematic diagram of multi-code adjacent repeatedarrangement of this invention.

FIG. 3 is the decoding flow chart of the two-dimensional code of thisinvention.

FIG. 4 is the original image of the two-dimensional code of thisinvention achieved by using the reader.

FIG. 5 is the enhanced image of the original image of the Graph 4.

FIG. 6 is the binary image of the original image of the Graph 5.

FIG. 7 is the definition schematic diagram of the adjacent pixel of somepixel when checking the border.

FIG. 8 is the border image when border checking the binary image ofGraph 6.

FIG. 9 is the schematic diagram to calculate the round standard degreeof the closed border image.

FIG. 10 is the schematic diagram about the result of selecting thepositioning point in the decoding process.

FIG. 11 is the schematic diagram of rectangle matching the positioningcircular point in the decoding process.

FIG. 12 is the schematic diagram about the rectangle matching result ofthe positioning circular point.

FIG. 13 is the circular point layout chart of the bar code symbol bydecoding reconstruction.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Embodiment of the invention will now be described with reference to theaccompanying Figures.

The two-dimensional code of this invention, its bar code cell of thecode symbol can use circle point or the solid dots with other shape.Every black point represents a bar code cell, every corresponding whitepoint also is a bar code cell, if the value of the black point is 1,then the value of the white point is 0, and vice versa. The white pointneeds not be printed but directly using the ground color of the printingmedia such as paper and so on.

The diameter of the black point needs to be big enough and the specificprinting should base on the printing machine. Using RS coding to assureenough error correcting capability. The decoding computation is small,so it is convenient for the low-cost MCU operation.

The two-dimensional code of this invention can be printed as hiding codethat you can not see the code symbol under the light except usingspecial equipment or specific light. The two-dimensional code of thisinvention also can support plain code that is easy to find by eyes,because the hiding code can be amplified to print, or arrange in thearrays (equivalent to the size of the words) and enlarge the blackpoint. When printing with plain code, the multi-code arrangement canreduce the requirement of “focus on”. The total side length of the codeneeds to be as small as possible.

According to the FIG. 1 and FIG. 2, the FIG. 1 is the schematic diagramof single code symbol of this invention, the FIG. 2 is the schematicdiagram of multi-code adjacent repeated arrangement of this invention.The big black point at the four corners of the code symbol in FIG. 1 isthe recognition and positioning characteristic, the small circle pointis the bar code cell to represent data, the diameter of the big circularpoint can be double than that of the small circular point, the bigcircular point is always deep color, the deep color of the smallcircular point represents 1, the light color represents 0; the every 8adjacent circular point marked as the same kind image represents onecode word, one code symbol possesses 12 code words, respectively bemarked as code word 1 code word 12 from left to right and from up todown, the code word, the coordinate of the code word in the symbol andthe bit sequence arrangement of the code word all be defined as thefollowing layout chart of code word:

Sequence number of The coordinate of the code word in the symbol is(x,y) code word and the bit sequence arrangement(bit 7~bit 0) 1 (1, 0), (2,0), (0, 1), (1, 1), (2, 1), (0, 2), (1, 2), (2, 2) 2 (3, 0), (4, 0), (5,0), (6, 0), (3, 1), (4, 1), (5, 1), (6, 1) 3 (7, 0), (8, 0), (7, 1), (8,1), (9, 1), (7, 2), (8, 2), (9, 2) 4 (3, 2), (4, 2), (2, 3), (3, 3), (4,3), (2, 4), (3, 4), (4, 4) 5 (5, 2), (6, 2), (5, 3), (6, 3), (7, 3), (5,4), (6, 4), (7, 4) 6 (0, 3), (1, 3), (0, 4), (1, 4), (0, 5), (1, 5), (0,6), (1, 6) 7 (8, 3), (9, 3), (8, 4), (9, 4), (8, 5), (9, 5), (8, 6), (9,6) 8 (2, 5), (3, 5), (4, 5), (2, 6), (3, 6), (4, 6), (3, 7), (4, 7) 9(5, 5), (6, 5), (7, 5), (5, 6), (6, 6), (7, 6), (5, 7), (6, 7) 10 (0,7), (1, 7), (2, 7), (0, 8), (1, 8), (2, 8), (2, 9), (3, 9) 11 (3, 8),(4, 8), (5, 8), (6, 8), (3, 9), (4, 9), (5, 9), (6, 9) 12 (7, 7), (8,7), (9, 7), (7, 8), (8, 8), (9, 8), (7, 9), (8, )

The coding capacity of one code symbol including 12 bytes can rationallydistribute the length of the data code and error correcting code. Thesame code is repeatedly arranged in the horizontal and verticaldirection to improve the hitting rate, the adjacent two codes share twobig positioning circular point so producing seamless joint code andimproving the area effect to the maximum extent.

Starting to decode after gaining the image of the two-dimensional codesymbol of this invention. For example, please consult the decoding flowchart of FIG. 3, the specific steps include: image enhancement, binaryimage, margin checking, closed border tracing, circular pointrecognizing, positioning circular point selecting, rectangle matchingthe positioning circular point, data point grouping, data point matrixreconstruction, error correcting and reduction of the code word.

The following is the detailed decoding processing:

1. Image Enhancement

If it is in demand, image enhancing the original image of FIG. 4 toimprove the recognition rate of the code and then producing the imageenhancement of Figure. The calculation of the image enhancement can useUSM (Unsharp Mask) that is familiar to the people in the digital imageprocessing field, the principle is first to deal with the original imageby two-dimensional gauss low-pass and then get the blurry image, thenreduce this blurry image from the original image to get the image withenhanced contrast ratio. Suppose the original image is F(x, y), then theenhancement image is V(x, y)=F(x, y)+K×(F(x, y)−U(x, y)), wherein K isthe intensification factor, the empirical value is 1˜4, the effect of Kis more enhanced, more distinct, but the noise also will be enlarged inthe image.

2. Binary

Binary processing the enhancement image, setting a threshold valueT(0<T<255), the brightness of pixel is more than T belongs to be white,other pixel belongs to be black because dynamic range of the pixelluminance value has enlarged after the enhanced image, backgroundbrightness approaches to the maximum value 255, the pixel brightnesscomposing the circular point approaches to the minimum value 0, thus itis very easy to choose a fixed or dynamic threshold value T. The imageof FIG. 6 can be obtained after binary processing.

3. Margin Checking

Margin checking the binary processing image, the definition of marginpixel is: the pixel whose value is 0 and the adjacent 8 pixels includesnon-zero pixel. The adjacent pixel's definition of some pixel is as theFIG. 7; the pixel with code 0, the code of its adjacent 8 pixels isrespectively from 1 to 8.

Marked as the maximum brightness 255 if one pixel is margin pixel, ormarked as 0. Margin checking all the pixels in the binary image can getthe margin image as shown in FIG. 8.

4. Closed Border Tracing

The operation project of closed border tracing is the margin imageproduced from the border checking of the last step, including thefollowing steps:

-   A) scanning the margin image by the main direction of row (i.e. from    the left to right, from the up to down), the first margin pixel    gained by scanning as the starting pixel of the border tracing, this    process ends if there is no margin pixel;-   B) putting the coordinate of starting pixel into the queue Q and    marked as 0 to represent that it has been traced;-   C) judging whether the adjacent 8 pixels of the starting pixel have    margin pixel or not, if yes, then freely choosing one pixel as the    starting point for next tracing and jump to last step B; if no, this    tracing ends, the coordinate list in the queue Q will be a closed    border, that is the border of candidate targeted circular point,    storing the coordinate list of the queue Q and empty it, then jump    to last step A.

The border of the circular point image has been all checked after thisprocess ending, and the check result mixed into some noise black pointat the same time.

5. Circular Point Recognizing

The aim of this step is to eliminate some noise data from the checkingresult of the Step 4, that is to give up the non-circular closed border,and the judgment basis of noise data is the circular geometric feature.If the code symbol uses the two-dimensional code of this invention andits cell is the solid dot with other sizes, then do not implement thisstep. As shown in FIG. 9, to one closed border, firstly adding theabscissa of all the border point and then the accumulative total dividedby the total amount of border point to get center point's abscissa u ofthe closed border, and then adding the ordinate of all the border point,the accumulative total divided by the total amount of border point toget center point's ordinate v, using the center point's coordinate ofthe closed border to scan the diameter of closed border in the fourdirections, respectively getting four length values d1, d2, d3, d4,suppose the average diameter is d=(d1+d2+d3+d4)/4, define the round'sstandard degree N=|d−d1|/d+|d−d2|/d+|d−d3|/d+|d−d4|/d, the value of N issmaller, then the reliability of the closed border is round is higher.Calculating the value of N to every closed border, discarding the closedborder whose value of N is more than some threshold value T_(n), therest closed border is considered as the border of bar code circularpoint.

6. Positioning Circular Point Selecting

This process selects the positioning circular point from the circularpoints have been recognized. Please refer to FIG. 10, firstly count thehistogram of circular point's area to find area value S₀ of the mostcentralized distributed area histogram, and one range with the S₀ as thecenter corresponding to be the area of data circular point, and the areaof positioning circular point is in the range with the 4*S₀ as thecenter, according to this dividing the area histogram into two parts,one part corresponding to data circular point, one part corresponding tothe positioning circular point. This kind of calculation based on thecount is steady because there are 96 data points in one code symbol,according to the statistical value the amount of deep color circularpoints is 48, so the area histogram can not appear the unstablestatistical result leaded by too small amount of the circular point.

If the code symbol uses the two-dimensional code of this invention, itscell is the solid dot with other non-round size, when implementing thisstep, firstly calculating the area within every closed border and thencount the histogram of every closed border area, finding area value S₀of the most centralized distributed area histogram, and thatcorresponding to one range with the S₀ as the center is the area of datacircular point, and the area of positioning point is several times thanthat of data point, this multiple can be defined according to the sizeof positioning point and data point determined as prior. According tothis extracting two parts from the area histogram, one partcorresponding to data circular point with S₀ as the center, one partcorresponding to positioning circular point with the several times of S₀as the center. This kind of method judges the noise data according tothe area size of closed border, some closed border with too big or toosmall areas without statistic characteristic will be discarded.

7. Rectangle Matching the Positioning Circular Point

Four positioning circular points confirm one independent code symbol,this process makes sure which positioning circular points confirm thecode symbol according to the precondition that the positioning circularpoints at the four corners of every code compose one rectangle.

The process is as follows:

a) choosing the closest positioning point to the center of image as thefirst reference point;

b) choosing the other closest positioning point to the first referenceas the second reference point;

c) the side consisting of the two reference points is the referenceborder of target rectangular, the first reference point as the origin,calculating the second reference point's polar coordinate (r₀, θ₀);

d) calculating the first reference point's polar coordinate (r_(i),θ_(i)) relative to the rest positioning points, Iε[1˜n], n is the sum ofpositioning point cells;

e) the first reference point as center, relative to the reference side,to calculate polar coordinate of the other positioning points about thecontour-rectangle of possible four code symbols;

P₁=(r₀,θ₀),

P ₂=(r ₀*1.414,θ₀+45), P ₃=(r ₀*1,θ₀+90)

P ₄=(r ₀*1.414,θ₀+135)

P ₅=(r ₀*1,θ₀+180)

P ₆=(r ₀*1.414,θ₀+225)

P ₇=(r ₀*1,θ₀+270)

P ₈=(r ₀*1.414,θ₀+315)

Wherein: P₀ is the first reference point, P₁ is the second referencepoint, the angle of all the polar coordinates is in [0,360];

f) finding the matching polar coordinate from P₁ to P₈ in thecalculation result of Step d), the matching points P₀, P₁ and P₂, P₃compose the first target rectangle, P₀ and P₃, P₄ and P₅ compose thesecond target rectangle, the matching points P₀ and P₅, P₆ and P₇compose the third target rectangle, the matching points P₀, P₁ and P₈,P₇ will compose the fourth target rectangle.

8. Data Point Grouping

After the four positioning circular points of the code have beenconfirmed, using four coordinates of the positioning circular point todefine a closed quadrangle, data point within the quadrangle belongs tothe data point of the current code. Judging whether one point is withinthe quadrangle can be implanted by judging whether one point is withinthe two opposite edges of the quadrangle in twice, the judging methodis:

Suppose the linear equation of the two side is: y=k₁*x+b₁; y=k₂*x+b₂;the condition of point (×0, y0) is within the two sides:

(k ₁ *x ₀ +b1−y ₀)*(k ₂ *x ₀ +b ₂ −y ₀)<0.

9. Data Point Matrix Reconstruction

Suppose the nominal coordinate of the positioning circular point at thefour corners of the bar code is respectively (0,0), (20,0), (0,20) and(20,20); according to the coordinates of these four positioning circularpoints and the following coordinate correcting formula to calculate thenominal coordinate of the data circular point in the bar code:x′=k₀*x+k₁*x*y+k₂*y+k₃; y′=k₄*x+k₅*x*y+k₆*y+k₇;

(x′, y′) is the nominal coordinate of the bar code circular point, (x,y) is the center coordinate of the circular point in the image,inserting the nominal coordinate of the positioning circular point atthe four corners of the bar code and their coordinate of the image inthe above formula, calculated 8 eight linear equation, solving theequation to get the result k₀˜k₇, and then inserting k₀-k₇ in theequation to get the coordinate transformation equation, and theninserting the center coordinate of every data point of the image in thisequation, calculated the nominal coordinate of this data point of thisbar code, because the said coordinate transformation puts thepositioning origin mapping in the top left corner as the origin of thetarget rectangle, so the nominal coordinate value of every data point inthe bar code is odd, the coordinate value after transformation needs tobe integer to the nearest odd number 10 Reduction of the code word anderror correcting.

As shown in FIG. 13, the said step 9 obtained reconstructing data pointmatrix, according to the inverse process of the codeword layout in thecoding process to reduce code word, using Reed-solomon correctingalgorithm and according to decoding parameter corresponding to thecoding parameter to error correct the code word obtained from step 8.

With the development of computer technology and storing technology,publication with words and pictures always accompany with correspondingmulti-media audio and video data. Books always are divided into someparts according to chapter and at the same time including page number,the reader can choose to read different chapters according to thecontents of the book; the multi-media audio and video data correspondingto the books also can be divided into some corresponding parts, thereader also can choose the corresponding parts to play according to theindex. Also, some publication can pronounce some words or be translatedto be another word, this kind of translation and phonetic notation alsocan be stored by using multi-media methods, and matching with index.Using the two-dimensional code of this invention, the index of thismulti-media data can be printed in the corresponding places of thebooks, for example in the contents of the books, and/or the first pageof different chapters in the books, or different places of the page. Atthe same time the index of this multi-media data can be read bymulti-media playing device and chosen to the playing paragraphautomatically.

The two-dimensional code of this invention used in the publication,printed as the shading of page with the array of code symbol, and otherword contents covering the code, thus it is not necessary to focus onwhen the reading device is reading the code symbol but always obtainingthe code symbol between lines, and the page typesetting is beautiful.

When the two-dimensional code of this invention used as the index of themulti-media data, using the unified coding method to make all kinds ofdifferent publication have the unique and unified code, this kind ofstandard unified code is convenient for the spread and application ofthe multi-media data publication.

The programming structural of the standard two-dimensional codepublication species index coding and multi-media data index codingcorresponding to the different parts in the said publication includes:

The content of every two-dimensional code all consists of 16 bitsdecimal number, divided into 6 functional sections, every section hasfixed digit number length including: language number, classificationnumber, class index number, page sequence number, code sequence number,error check number.

For example the multi-media index coding information of one publicationis as follows:

Language number classification number class index number 1 10 100258Page sequence number code sequence number error check number 0035 12 9

Wherein:

The language number is the language digital code specifically definedfor the two-dimensional code complication of the publication, the lengthof the language number is 1 bit decimal number, divided into Chinese,English, French, German, Russian, Spanish, other languages and 2candidate languages, using number 0, 1, 2, 3, 4, 5, 6, 7, 8, 9corresponding to represent.

The classification number is the classification digital codespecifically defined for the two-dimensional code complication of thepublication, the “classification” is specifically defined according tothe book species suited the publication. This period of serial numbersrepresents the concrete classification number of every language. Everyclassification number is 2 bits decimal number, the classification ofthe two-dimensional code is in the range of “00˜99”.

Class index number is the order representing digit specifically definedfor the two-dimensional code complication of the publication. The digitnumber of every class index number is 6 bits decimal number, compilingnumerical number according to the demand of publishing species andsequence when dividing, the class index number value range of thetwo-dimensional code is from 000000 to 999999. Every publication ofevery species must give a different class index number.

So, the quantity of language number can be divided into 10, everylanguage kind can be divided into 100 species (classification) numbers,every species can publish 1 million kinds of books. Thus, every languagekind can publish a hundred million kinds of books; this coding schemecan support 1 billion kinds of publication.

The page sequence number is the page digit marking adopted into thetwo-dimensional code of the publication. The digit number of every pagesequence number is 4 bits decimal number, starting to code the numericalnumber according to the page sequence of every page from 01. The codesequence number of every two-dimensional code has the value range from01 to 99. For example when some publication only has one two-dimensionalcode on page 8, its page sequence number and code sequence numberrepresented as “000801”.

The parity bit is the last number of the publication two-dimensionalcode compilation to check the correct errors of coding.

The value of parity bit is calculated by the frontal 5 bits decimalnumbers of coding,

calculation method: respectively and in sequence putting the frontal 15decimal numbers from the multi-media data index of publication as thecardinal number, “1” and “2” as weighted factors, and respectivelymultiply with decimal number of cardinal number, and then product sum isdivided by modulus 10, wherein every section of cardinal numbermultiplies with weighted factor, such as 10→1+0=1, 16→1+6=7, if theproduct is more than 10, then to add the tens digit of this product withsingle digit together to get every product sum, when every product sumis less than 10, to add 10 to the product sum and then be divided bymodulus 10, and the difference between its remainder and 10 is the valueof parity bit. So the value of the parity bit only can be any integerfrom 1 to 10, when parity bit is 10 represented by “0”, so the paritybit only can be 1234567890.

For example: 1 1 6 0 6 3 4 5 2 0 0 8 6 2 9 (6) 2 1 2 1 2 1 2 1 2 1 2 1 21 Product: 1 2 6 0 6 6 4 10 2 0 0 16 6 4 9 Sum of every product: 1 + 2 +6 + 0 + 6 + 6 + 4 + (1 + 0) + 2 + 0 + 0 + (1 + 6) + 6 + 4 + 9 = 54 54 ÷10 = 5.4 Parity bit: 10 − 4 = 6 Checking calculation: 1 + 2 + 6 + 0 +6 + 6 + 4 + (1 + 0) + 2 + 0 + 0 + (1 + 6) + 6 + 4 + 9 + 6 = 60 60 ÷ 10 =6

Reason: when the sum of separate product of parity bit and the frontal15 value of decimal numbers of coding can be divided by the modulus, thecoding is right. So, code 1160634520086296 is a correct publicationmulti-media index coding.

The characteristic of the publication two-dimensional code compilationstructural is that the structure of publication multi-media index codingis 16 bits decimal number and be compiled as two-dimensional code, eachsection of length is constant digit number, the distribution of everypublication multi-media index coding is unique, the compiledtwo-dimensional code ensures correct reading of MPR reader or othermulti-media playing devices, it is convenient to manage the computer.

For example: when the two-dimensional code of this invention is1160634520086296, that can be divided into 6 sections according to theorder, the language number is fixed as 1, the classification number isfixed as 16, the class index number is fixed as 063452, the pagesequence number is fixed as 0086, the code sequence number is fixed as29, the parity bit is fixed as 6, thus getting 1-16-063452-0086-29-6, sothe two-dimensional code compilation is the 29th code on the page 86 ofthe 063452^(nd) publication with language kind code 1 and classificationcode 16.

1. A two-dimensional code, its code symbol is comprised of array of barcode cells with different optical reflectance on the basement;characterized in that the said code symbol is rectangle, wherein thesaid bar code cells in the said symbol are solid dots with equal spacearrangement and the cells located at the four corners of the bar codesymbol are the positioning point used to define and recognize theborder, the rest cells are data points, the area of the said positioningpoint is larger than that of data point the said code symbol is arrangedrepeatedly on the basement and seamless joint as code matrix includingat least two same code symbols, and the adjacent code has the samepositioning point.
 2. The two dimensional code according to claim 1,characterized in that the said data point cells are all included in therectangle frame consisting of linking of the said adjacent positioningpoint cells' centers.
 3. The two dimensional code according to claim 1,characterized in that the shape of said bar code cell is solid dot, thediameter of the said positioning point cell is double than that of datapoint cell.
 4. The two dimensional code according to claim 1,characterized in that the said code symbol includes 10×10 bar codecells, except the positioning point, every adjacent 8 data pointsconstitute a group to represent one code word; the coordinates of thesaid positioning point cells are respectively (0,0), (9,0), (0,9) and(9,9); in the chessboard coordinate system stipulated by the positioningpoint, the data point cells are divided into 12 groups that respectivelyrepresent one code word; the unit coordinates of the first group include(1,0), (2,0), (0,1), (1,1), (2,1), (0,2), (1,2), (2,2); the unitcoordinates of the second group include (3,0), (4,0), (5,0), (6,0),(3,1), (4,1), (5,1), (6,1); the unit coordinates of the third groupinclude (7,0), (8,0), (7,1), (8, 1), (9,1), (7,2), (8,2), (9,2); theunit coordinates of the forth group include (3,2), (4,2), (2,3), (3,3),(4,3), (2,4), (3,4), (4,4); the unit coordinates of the fifth groupinclude (5,2), (6,2), (5,3), (6,3), (7,3), (5,4), (6,4), (7,4); the unitcoordinates of the sixth group include (0,3), (1,3), (0,4), (1,4),(0,5), (1,5), (0,6), (1,6); the unit coordinates of the seventh groupinclude (8,3), (9,3), (8,4), (9,4), (8,5), (9,5), (8,6), (9,6); the unitcoordinates of the eighth group include (2,5), (3,5), (4,5), (2,6),(3,6), (4,6), (3,7), (4,7); the unit coordinates of the ninth groupinclude (5,5), (6,5), (7,5), (5,6), (6,6), (7,6), (5,7), (6,7); the unitcoordinates of the tenth group include (0,7), (1,7), (2,7), (0,8),(1,8), (2,8), (2,9), (3,9); the unit coordinates of the eleventh groupinclude (3,8), (4,8), (5,8), (6,8), (3,9), (4,9), (5,9), (6,9); the unitcoordinates of the twelfth group include (7,7), (8, 7), (9,7), (7,8),(8,8), (9,8), (7,9), (8,9).
 5. A printing publication, printing withwords and pictures for normal reading and the two dimensional coderecognized by device, the said code symbol of the two dimensional codeis comprising of array of bar code cells with different opticalreflectance on the basement; characterized in that the said code symbolis rectangle wherein the said bar code cells in the symbol are soliddots with equal space arrangement and the cells located at the fourcorners of the bar code symbol are the positioning point used to defineand recognize the border, the rest cells are data points, the area ofthe said positioning point is larger than data points; the said codesymbol is arranged repeatedly on the basement and seamless joint as codesymbol matrix including at least two same code symbols, and the adjacentcode has the same positioning point.
 6. The printing publicationaccording to claim 6, characterized in that the said data point cellsare all included in the rectangle frame consisting of linking of thesaid adjacent positioning point cells' centers.
 7. The printingpublication according to claim 5 characterized in that the shape of saidbar code cell is solid dot, the diameter of said positioning point cellis double than that of data point cell.
 8. The printing publicationaccording to claim 5, characterized in that the said code symbol can notbe seen by eyes in normal reading environment; or compare with thenormal printing words and pictures, the said code symbol can not be seeneasily.
 9. The printing publication according to claim 5, characterizedin that the said bar code cell includes deep color cell and light colorcell to represent respectively the values of binary system 1 and 0, thesaid light color cell can be shown directly by the background color ofpaper or the other print media.
 10. The printing publication accordingto claim 8, characterized in that the deep color cell of the said codesymbol using infrared ink printing that shows different reflectivity tothe light of infrared spectrum but the same reflectivity to the light ofvisible spectrum compared with the light color cell, and the otherprinting contents covering the said code symbol use the ink printing canshow transmission to the light of the infrared spectrum.
 11. Theprinting publication according to claim 5, characterized in that theinformation carried by the two dimensional code includes the multi-mediadata index coding corresponding with the different parts of the saidpublication and the publishing species index coding.
 12. The printingpublication according to claim 11, characterized in that the saidmulti-media data index coding corresponding with the different parts ofthe said publication and the publishing species index coding includes 6functional sections consisting of fixed length of digit numbers:language number, classification number, class index number, pagesequence number, code sequence number and error check number; whereinthe language number is the digit code name of language stipulated by thelanguage kinds of the publication; classification number is the digitcode name of publication classification with some language according tothe book species; class index number represents the concrete order ofsome classified book of the publication with some language, that can benumerical order; the page sequence number is the content of index codingcorresponding with the page digit of the said publication; code sequencenumber is the number corresponding with the amount of two dimensionalcodes and marking sequence used in the pages including two dimensionalcode; error check number is to check the correct errors of the indexcoding.
 13. The printing publication according to claimed 12,characterized in that the said multi-media data index codingcorresponding with the different parts of the said publication and thepublishing species index coding includes 16 bits decimal number, whereinthe length of every functional section respectively is: language number1 bit, classification number 2 bits, class index number 6 bits, pagesequence number 4 bits, code sequence number 2 bits and error checknumber 1 bit.
 14. The printing publication according to claim 13,characterized in that the value of the said publishing species indexcoding and the parity bit of the said multi-media data index coding arecalculated by the frontal 15 decimal numbers of the coding, calculationmethod: respectively and in sequence putting the frontal 15 decimalnumbers from the multi-media data index number of publication as thecardinal number, “1” and “2” as weighted factors, and respectivelymultiply with decimal number of cardinal number, and then product sum isdivided by modulus 10, wherein every section of cardinal numbermultiplies with weighted factor, if the product is more than 10, then toadd the tens digit of this product with single digit together to getevery product sum, when every product sum is less than 10, to add 10 tothe product sum and then be divided by modulus 10, and the differencebetween its remainder and 10 is the value of parity bit.
 15. Thedecoding method of the two-dimensional code comprises the followingsteps of: 1) reading the code symbol by using a reading device, gettingthe gray code symbol image; 2) making binary processing to the gray codesymbol image and get binary image; 3) parsing the binary image,detecting the margin of each point to obtain the margin image; 4)parsing the margin image to track its closed border and give up all thenon-closed borders to obtain the closed border; 5) parsing the image ofclosed border, computing the area within every closed border in order toselect the positioning points; 6) matching the positioning points in therectangle mode to select one single image of the code symbol; 7)grouping the data points comes from the image of code symbol 8)reconstructing the array of data points; 9) recovering the code word.16. The method according to claim 15, characterized in that the processof selecting positioning point cell in the said step 5) includes: 51)computing the area within every closed border in order to count the areahistogram within all closed borders and find the most concentrated areavalue S0 from the area histogram; 52) the closed border, which area′center is S0 and accord with error range of the regulation, is datapoint cell; the closed border, which area is known multiple of S0 andaccord with error range of the regulation, is positioning point cell.17. The said method according to claim 15, characterized in that whenthe known bar code sell's shape is circular point, before the step 5,including step 5′) the process of recognizing the circular point, whichincludes: 51′) adding the pixel abscissa of all the border points of theclosed border, and then use the cumulative total divided by the sum ofborder points to get the pixel abscissa u of the center point of theclosed border; adding the pixel ordinate of all the border points, andthen use the cumulative total divided by the sum of border points to getthe pixel ordinate v of the center point of the closed border; 52′)according to the pixel coordinate (u, v) of the center point of theclosed border to find the diameter of the closed border in the fourdirections, and get four length value respectively d1, d2, d3, d4; 53′)the average diameter is d=(d1+d2+d3+d4)/4, define the round's standarddegree N=|d−d1|/d+|d−d2|/d+|d−d3|/d+|d−d4|/d; 54′) calculating the valueN of each closed border, discarding the closed border whose value N ismore than the setting threshold value T_(n) according to actualstatistic results, and the rest closed border is considered as theborder of bar code circular point cell.
 18. The methods according toclaim 15, characterized in that the process of matching the positioningpoint cell in the rectangle mode in the said step 6 includes: 61)choosing the closest positioning point to the center of image as thefirst reference point; 62) choosing the other closest positioning pointto the first reference point as the second reference point; 63) the sideconsisting of the two reference points is the reference border of targetrectangular, the first reference point as the origin, calculating thesecond reference point's polar coordinate (r₀, θ₀); 64) calculating thefirst reference point's polar coordinate (r_(i), θ_(i)) relative to therest positioning points, iε[1˜n], n is the sum of positioning pointcells; 65) the first reference point as center, relative to thereference side, calculating the polar coordinate of the otherpositioning points about the contour-rectangle of possible four codesymbols;P₁=(r₀,θ₀),P ₂=(r ₀*1.414,θ₀+45), P ₃=(r ₀*1,θ₀+90)P ₄=(r ₀*1.414,θ₀+135)P ₅=(r ₀*1,θ₀+180)P ₆=(r ₀*1.414,θ₀+225)P ₇=(r ₀*1,θ₀+270)P ₈=(r ₀*1.414,θ₀+315) wherein: P₀ is the first reference point, P₁ isthe second reference point, the angle of all the polar coordinates is in[0,360]; 66) finding the matching polar coordinate from P₁ to P₈ in thecalculation result of Step 64), the matching point P₀, P₁ and P₂, P₃composing the first target rectangle, if the matching is not successful,then P₀ and P₃, P₄ and P₅ will compose the second target rectangle, ifstill not successful, then the matching points P₀ and P₅, P₆ and P₇ willcompose the third target rectangle, if not successful again, then thematching points P₀, P₁ and P₈, P₇ will compose the fourth targetrectangle; if still can not be matched, then the decoding is failed. 19.The method according to claim 15, characterized in that the groupingprocess of the data point in the said step 7) includes: 71) defining aclosed quadrilateral according to the four-point coordinates ofpositioning point, 72) judging whether the data point is within thisquadrilateral or not, the data point within the quadrilateral belongs tothe current code symbol.
 20. The said method according to claim 15,characterized in that the process of reconstructing the data point'smatrix in the said step 8) includes: 81) setting the unit module'scoordinates of four-corner positioning point, and then settingchessboard coordinate of each bar code cell; 82) according to coordinatecorrecting formula, calculating the corresponding coordinate of the barcode chessboard according to the center coordinate of each data point.21. The method according to claim 19, characterized in that the methodof judging whether one point is within the quadrilateral or not of thesaid step 72) includes: respectively judging whether one point is withinthe two groups of corresponding sides of the quadrilateral or not; ifyes, this point is within the quadrilateral; if no, this point is notwithin the quadrilateral; setting the linear equation of the two sidesare y=k₁*x+b₁; y=k₂*x+b₂; the condition of point (x₀, y₀) within the twosides is: (k₁*x₀+b1−y₀)*(k₂*x₀+b₂−y₀)<0.